package ligne2vie.topos.client.service;

import java.util.List;

import ligne2vie.topos.shared.bo.TSummit;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The interface {@link SummitServiceAsync} defines all the methods required to manage summits.
 * 
 * @author thuguerre
 * @since 1.0.0
 */
public interface SummitServiceAsync {

	public void createSummit(String name, int altitude, double latitude, double longitude, String description,
			AsyncCallback<TSummit> callback);
	
	public void editSummit(long summitId, String name, int altitude, double latitude, double longitude, String description,
			AsyncCallback<TSummit> callback);
	
	public void getAllSummits(AsyncCallback<List<TSummit>> callback);

	public void getSummit(long summitId, AsyncCallback<TSummit> callback);

	public void removeSummit(long summitId, AsyncCallback<Void> callback);
}
